package main 

import (
	"fmt"
)

/**
func test(2){

	if 2>2{
		2
		test(2)
	}
	fmt.Println("n=",2)
}
func test(3){

	if 3>2{
		2
		test(2)
	}
	fmt.Println("n=",2)
}
栈调用说明
func test(4){

	if 4>2{
		3
		test(3)
	}
	fmt.Println("n=",3)
}
**/
func test(n int){

	if n>2{
		n--
		test(n)
	}
	fmt.Println("n=",n)
}
/**
func test2(2){
	if 2>2{
		2
		test2(2)
	}else{
		fmt.Println("n=",2)
	}
}
func test2(3){
	if 3>2{
		2
		test2(2)
	}else{
		fmt.Println("n=",n)
	}
}
func test2(4){
	if 4>2{
		3
		test2(3)
	}else{
		fmt.Println("n=",n)
	}
}
**/

func fbn(n int) int{
	if n==1||n==2{
		return 1
	}else{
		return fbn(n-1)+fbn(n-2)
	}
}
func test2(n int){
	if n>2{
		n--
		test2(n)
	}else{
		fmt.Println("n=",n)
	}
}
func main(){

	test(4)
	test2(4)
	fmt.Println("************************")
	var res int = fbn(8)
	fmt.Println(res)
}